/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package br.ufrn.cerescaico.sepe.actions.admin;

import br.ufrn.cerescaico.sepe.actions.SepeAction;
import br.ufrn.cerescaico.sepe.beans.Participante;
import br.ufrn.cerescaico.sepe.bo.SepeException;
import java.util.List;
import org.apache.log4j.Logger;

/**
 * Action de participante do sistema SEPE.
 * @author Taciano de Morais Silva - tacianosilva@gmail.com
 * @version 24/08/2010, 19:04, Taciano de Morais Silva - tacianosilva@gmail.com
 * @since 24/08/2010, 09h22m
 */
public class ParticipanteAction extends SepeAction {

    /**
     * Logger da classe.
     */
    private Logger logger = Logger.getLogger(ParticipanteAction.class);

    /**
     * Participante selecionado.
     */
    private Participante participante;

    /**
     * Lista de participantes.
     */
    private List<Participante> participantes;

    /**
     * Carrega a lista de participantes do sistema.
     * @return O result que aponta para a página destino.
     * @see com.opensymphony.xwork2.ActionSupport#execute()
     */
    @Override
    public String execute() throws Exception {
        try {
            logger.info("execute()");
            setParticipantes(getSepe().listarParticipantes());
        } catch (SepeException ex) {
            logger.error(ex.getMessage(), ex);
            addActionError(getText(ex.getMessage()));
        }
        return SUCCESS;
    }

    public List<Participante> getParticipantes() {
        return participantes;
    }

    public void setParticipantes(List<Participante> participantes) {
        this.participantes = participantes;
    }

    /**
     * @return
     */
    public Integer getIdParticipante() {
        if (participante != null) {
            return participante.getId();
        }
        return null;
    }

    /**
     * @param id
     */
    public void setIdParticipante(Integer id) {
        if (participante == null) {
            participante = new Participante();
        }
        participante.setId(id);
    }
}
